分类目录:《机器学习中的数学》总目录
相关文章:
· 点估计(一):基础知识
· 点估计(二):矩估计
· 点估计(三):极大似然估计/最大似然估计(Maximum Likelihood Estimate,MLE)
· 点估计(四):最大后验估计(Maximum Posteriori Probability,MAP)
· 距离定义:相对熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)
· 常用概率分布:经验分布(Empirical分布)
极大似然估计是求总体未知参数的另一种常用的点估计方法。对离散总体
X
X
X,其分布律为
P
(
X
=
x
;
θ
)
P(X=x; \theta)
P(X=x;θ),设
(
x
1
,
x
2
,
⋯
,
x
n
)
(x_1, x_2, \cdots, x_n)
(x1,x2,⋯,xn)为取自该离散总体
X
X
X的一个样本
(
X
1
,
X
2
,
⋯
,
X
n
)
(X_1, X_2, \cdots, X_n)
(X1,X2,⋯,Xn)的观测值,我们写出该观测值出现的概率,它一般依赖于某个或某几个参数,用
θ
\theta
θ表示,将该概率看成是
θ
\theta
θ的函数,用
L
(
θ
)
L(\theta)
L(θ)表示,又称为
θ
\theta
θ的似然函数,即:
L
(
θ
)
=
P
(
X
1
=
x
1
,
X
2
=
x
2
,
⋯
,
X
n
=
x
n
;
θ
)
L(\theta)=P(X_1=x_1, X_2=x_2, \cdots, X_n=x_n; \theta)
L(θ)=P(X1=x1,X2=x2,⋯,Xn=xn;θ)
求极大似然估计就是找
θ
\theta
θ的估计值
θ
^
=
θ
^
(
x
1
,
x
2
,
⋯
,
x
n
)
\hat{\theta}=\hat{\theta}(x_1, x_2, \cdots, x_n)
θ^=θ^(x1,x2,⋯,xn)使得上式的
L
(
θ
)
L(\theta)
L(θ)达到最大。对连续总体,我们可以用样本的联合密度函数替代上面的联合分布律,也称之为似然函数,具体可表示为,设总体
X
X
X的密度函数
f
(
x
;
θ
)
f(x;\theta)
f(x;θ),已知
(
x
1
,
x
2
,
⋯
,
x
n
)
(x_1, x_2, \cdots, x_n)
(x1,x2,⋯,xn)为总体
X
X
X的样本
(
X
1
,
X
2
,
⋯
,
X
n
)
(X_1, X_2, \cdots, X_n)
(X1,X2,⋯,Xn)的观测值,则似然函数为:
L
(
θ
)
=
∏
i
=
1
n
f
(
x
i
,
θ
)
L(\theta)=\prod_{i=1}^nf(x_i, \theta)
L(θ)=i=1∏nf(xi,θ)
设总体 X X X有分布律 P ( X = x ; θ ) P(X=x;\theta) P(X=x;θ)或密度函数 f ( x ; θ ) f(x; \theta) f(x;θ),已知 θ ∈ Θ \theta\in\Theta θ∈Θ, Θ \Theta Θ是参数空间. ( x 1 , x 2 , ⋯ , x n ) (x_1, x_2, \cdots, x_n) (x1,x2,⋯,xn)为总体 X X X的一个样本 ( X 1 , X 2 , ⋯ , X n ) (X_1, X_2, \cdots, X_n) (X1,X2,⋯,Xn)的观测值,将样本的联合分布律或联合密度函数看成 θ \theta θ的函数,用 L ( θ ) L(\theta) L(θ)表示,又称为 θ \theta θ的似然函数,则似然函数:
离散分布: L ( θ ) = P ( X 1 = x 1 , X 2 = x 2 , ⋯ , X n = x n ; θ ) 连续分布: L ( θ ) = ∏ i = 1 n f ( x i , θ ) \begin{aligned} \text{离散分布:}&L(\theta)=P(X_1=x_1, X_2=x_2, \cdots, X_n=x_n; \theta)\\ \text{连续分布:}&L(\theta)=\prod_{i=1}^nf(x_i, \theta) \end{aligned} 离散分布:连续分布:L(θ)=P(X1=x1,X2=x2,⋯,Xn=xn;θ)L(θ)=i=1∏nf(xi,θ)称满足关系式 L ( θ ^ ) = max θ ∈ Θ L ( θ ) L(\hat{\theta})=\max_{\theta\in\Theta}L(\theta) L(θ^)=maxθ∈ΘL(θ)的解 θ ^ \hat{\theta} θ^为 θ \theta θ的极大似然估计量。
当
L
(
θ
)
L(\theta)
L(θ)是可微函数时,求导是求极大似然估计最常用的方法。此时又因
L
(
θ
)
L(\theta)
L(θ)与
log
L
(
θ
)
\log L(\theta)
logL(θ)在同一个
θ
\theta
θ处取到极值,且对对数似然函数
log
L
(
θ
)
\log L(\theta)
logL(θ)求导更简单,故我们常用如下对数似然方程(组):
d
d
θ
log
L
(
θ
)
=
0
或
{
∂
∂
θ
1
log
L
=
0
∂
∂
θ
2
log
L
=
0
⋯
∂
∂
θ
n
log
L
=
0
\frac{\text{d}}{\text{d}\theta} \log L(\theta)=0\qquad \text{或}\qquad\left\{ \begin{aligned} \frac{\partial}{\partial\theta_1} \log L & = & 0 \\ \frac{\partial}{\partial\theta_2} \log L & = & 0 \\ \cdots \\ \frac{\partial}{\partial\theta_n} \log L & = & 0 \end{aligned} \right.
dθdlogL(θ)=0或⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∂θ1∂logL∂θ2∂logL⋯∂θn∂logL===000
极大似然估计的条件比矩估计的条件要强,故极大似然估计一般优于矩估计。最后我们再总结一下极大似然估计的基本思想:总体分布中的未知参数的取值有很多可能,找一个估计值,使得样本发生的概率最大,这个估计值就是极大似然估计值。
- 由总体分布写出样本的联合分布律或联合密度函数。
- 把 θ \theta θ看成自变量,样本联合分布律(或联合密度函数)看成是 θ \theta θ的函数,即为似然函数 L ( θ ) L(\theta) L(θ)。
- 求似然函数 L ( θ ) L(\theta) L(θ)的最大值点(有时转化为求对数似然函数的最大值点) max θ ∈ Θ L ( θ ) \max_{\theta\in\Theta}L(\theta) maxθ∈ΘL(θ)或 max θ ∈ log Θ L ( θ ) \max_{\theta\in\log \Theta}L(\theta) maxθ∈logΘL(θ)。
- 令 L ( θ ) L(\theta) L(θ)达到最大时 θ \theta θ的取值 θ ^ = θ ^ ( x 1 , x 2 , ⋯ , x n ) \hat{\theta}=\hat{\theta}(x_1, x_2, \cdots, x_n) θ^=θ^(x1,x2,⋯,xn)即为 θ \theta θ的极大似然估计值, θ ^ = θ ^ ( X 1 , X 2 , ⋯ , X n ) \hat{\theta}=\hat{\theta}(X_1, X_2, \cdots, X_n) θ^=θ^(X1,X2,⋯,Xn)为 θ \theta θ极大似然估计量。
一种解释极大似然估计的观点是将它看作最小化训练集上的经验分布
p
^
data
\hat{p}_{\text{data}}
p^data和模型分布之间的差异,两者之间的差异程度可以通过KL散度度量:
KL
(
p
^
data
∣
∣
p
model
)
=
E
x
∼
p
^
data
[
log
p
^
data
(
x
)
−
[
log
p
model
(
x
)
]
\text{KL}(\hat{p}_{\text{data}}||p_{\text{model}})=E_{x\sim\hat{p}_{\text{data}}}[\log \hat{p}_{\text{data}}(x) - [\log p_{\text{model}}(x)]
KL(p^data∣∣pmodel)=Ex∼p^data[logp^data(x)−[logpmodel(x)]
左边一项仅涉及数据生成过程,和模型无关。这意味着当训练模型最小化KL散度时,我们只需要最小化:
−
E
[
log
p
model
(
x
)
]
-E[\log p_{\text{model}}(x)]
−E[logpmodel(x)]
最小化KL散度其实就是在最小化分布之间的交叉熵。许多作者使用术语“交叉熵”特定表示伯努利或Softmax分布的负对数似然,但那是用词不当的。任何一个由负对数似然组成的损失都是定义在训练集上的经验分布和定义在模型上的概率分布之间的交叉熵。例如,均方误差是经验分布和高斯模型之间的交叉熵。
我们可以将最大似然看作使模型分布尽可能地和经验分布 p ^ data \hat{p}_{\text{data}} p^data相匹配的尝试。理想情况下,我们希望匹配真实的数据生成分布 p data p_{\text{data}} pdata,但我们无法直接知道这个分布。虽然最优 θ \theta θ在最大化似然或是最小化KL散度时是相同的,但目标函数值是不一样的。在实际操作中,我们通常将两者都称为最小化代价函数。因此最大化似然变成了最小化负对数似然或者等价的是最小化交叉熵。将最大化似然看作最小化KL散度的视角在这个情况下是有帮助的,因为已知KL散度最小值是零。
最大似然估计很容易扩展到估计条件概率
P
(
y
∣
x
;
θ
)
P(y|x; \theta)
P(y∣x;θ),从而给定
x
x
x预测
y
y
y。实际上这是最常见的情况,因为这构成了大多数监督学习的基础。如果
X
X
X表示所有的输入,
y
y
y表示我们观测到的目标,那么条件最大似然估计是:
θ
=
arg
max
θ
P
(
y
∣
X
;
θ
)
\theta = \arg\max_\theta P(y|X;\theta)
θ=argθmaxP(y∣X;θ)
如果假设样本是独立同分布,则:
θ
=
arg
max
θ
∑
i
=
1
m
log
P
(
y
i
∣
X
i
;
θ
)
\theta = \arg\max_\theta \sum_{i=1}^m\log P(y_i|X_i;\theta)
θ=argθmaxi=1∑mlogP(yi∣Xi;θ)
最大似然估计最吸引人的地方在于,它被证明当样本数目 m → ∞ m\rightarrow \infty m→∞时,就收敛率而言是最好的渐近估计。在合适的条件下,最大似然估计具有一致性,意味着训练样本数目趋向于无穷大时,参数的最大似然估计会收敛到参数的真实值。这些条件是:
- 真实分布 p data p_\text{data} pdata必须在模型族 p data ( x ; θ ) p_\text{data}(x;\theta) pdata(x;θ)中。否则,没有估计可以还原 p data p_\text{data} pdata
- 真实分布 p data p_\text{data} pdata必须刚好对应一个 θ \theta θ值。否则,最大似然估计恢复出真实分布 p data p_\text{data} pdata后,也不能决定数据生成过程使用哪个 θ \theta θ。
除了最大似然估计,还有其他的归纳准则,其中许多共享一致估计的性质。然而,一致估计的统计效率可能区别很大。某些一致估计可能会在固定数目的样本上获得一个较低的泛化误差,或者等价地,可能只需要较少的样本就能达到一个固定程度的泛化误差。统计效率通常用于有参情况的研究中。在有参情况中,我们的目标是估计参数值(假设有可能确定真实参数),而不是函数值。一种度量和真实参数相差多少的方法是计算均方误差的期望,即计算 m m m个从数据生成分布中出来的训练样本上的估计参数和真实参数之间差值的平方。有参均方误差估计随着 m m m的增加而减少,当 m m m较大时,Cramér-Rao下界表明不存在均方误差低于最大似然估计的一致估计。因为这些原因(一致性和统计效率),最大似然通常是机器学习中的首选估计方法。当样本数目小到会发生过拟合时,正则化策略如权重衰减可用于获得训练数据有限时方差较小的最大似然有偏版本。